Conventionally, a computer device is known that is configured with a cross-bar board to connect a control device such as a central processing unit (CPU) as an arithmetic processing unit, a system board including an I/O port, a memory and a system controller, and an I/O board including an external storage device and an I/O port.
The system board and the I/O boards send data to other system boards or I/O boards via the cross-bar board. When the cross-bar board is configured to connect a plurality of system boards and I/O boards, arbitration of requests for data transfer is carried out by priority control in the cross-bar board through which the data sent by the respective system boards and the I/O boards are transferred.
To efficiently carry out arbitration of data transfer in the cross-bar board and to improve efficiency in data transfer, various conventional technologies have been provided. For example, as a conventional technology, concerning memory access in a computer device, proposed is an arbitration method in which arbitration is carried out by excluding a memory bus acquisition request for a memory bank in a memory bank busy state from a subject of arbitration.
Furthermore, as a conventional technology, concerning memory access in a computer device, proposed is an arbitration method in which a communication interface device with higher memory bus use priority inhibits sending a bus use request from the own device while a memory bus use request sent from a communication interface device of lower priority is waiting, and cancels the inhibition when the number of inhibitions becomes a given value or more.
As a conventional technology, concerning memory access in a computer device, proposed is an arbitration method in which, when a bus agent executes a transaction for the first time, and thereafter the transaction is interrupted, and another bus agent then completes another transaction, a bus access right is given exclusively to the bus agent that is held in a state of not being able to complete the transaction until the transaction is completed.
As a conventional technology, arbitration of data transfer in a cross-bar board to be carried out, not in one stage, but in two stages is proposed. More specifically, arbitration is carried out in each I/O port of data request sources as the first stage arbitration. The data requests that acquired send rights are then sent to respective I/O ports of request destinations and arbitration of the data requests from a plurality of I/O ports is carried out in the respective I/O ports of request destinations as the second stage arbitration. Accordingly, proposed is an arbitration method that improves efficiency of data transfer by simultaneously carrying out arbitration of data requests from a plurality of request sources to a plurality of request destinations.                Patent Document 1: Japanese Laid-open Patent Publication No. 11-167546        Patent Document 2: Japanese Laid-open Patent Publication No. 09-293050        Patent Document 3: Japanese Laid-open Patent Publication No. 11-143824        
In recent years, the number of kinds of request type for each I/O port has been increasing. Therefore, in the above-described conventional technologies, even when a data request the I/O port of the request destination of which is in a resource busy state is controlled so as not to participate in the first stage arbitration, many data requests the I/O ports of the request destinations of which are not in a resource busy state become participants in the first stage arbitration and thus a bus is occupied. Consequently, there is a likelihood of a live lock state occurring where a data request, which has difficulty in participating in the second arbitration at the timing of resource busy state of the I/O port of the request destination being resolved, continues to reside and thus has difficulty in acquiring a right of the data request.
Furthermore, a situation is considered in which, even though there are interdependent relationships among request types of the same data request source or I/O ports of a data request destination, a request that has difficulty in being output due to resources being busy remains in a second stage arbiter. In this case, there is a likelihood of a deadlock state occurring in which, while overtaking the order of data request needs to be performed between specific data requests, the data request that needs to be overtaken remains in a state where the data request is unable to acquire a data request right in arbitration because the data request has difficulty in participating in the first stage arbitration.
Regardless of interdependent relationships, a situation is considered in which a request that has difficulty in being output due to resources being busy remains in the second stage arbiter. In this case, an I/O port of a data request source does not output other types of data request until the output data request acquires resources of an I/O port of a data request destination. Consequently, even when an I/O port of a data request destination of other types of data request is not in a resource busy state, a situation remains where it is not possible to acquire a data request right, thereby deteriorating throughput of data transfer.